package org.fisco.bcos.contracts;

import java.math.BigInteger;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.concurrent.Callable;
import org.fisco.bcos.channel.client.TransactionSucCallback;
import org.fisco.bcos.web3j.abi.TypeReference;
import org.fisco.bcos.web3j.abi.datatypes.Address;
import org.fisco.bcos.web3j.abi.datatypes.Bool;
import org.fisco.bcos.web3j.abi.datatypes.DynamicArray;
import org.fisco.bcos.web3j.abi.datatypes.Function;
import org.fisco.bcos.web3j.abi.datatypes.Type;
import org.fisco.bcos.web3j.abi.datatypes.Utf8String;
import org.fisco.bcos.web3j.abi.datatypes.generated.Uint8;
import org.fisco.bcos.web3j.crypto.Credentials;
import org.fisco.bcos.web3j.protocol.Web3j;
import org.fisco.bcos.web3j.protocol.core.RemoteCall;
import org.fisco.bcos.web3j.protocol.core.methods.response.TransactionReceipt;
import org.fisco.bcos.web3j.tuples.generated.Tuple5;
import org.fisco.bcos.web3j.tuples.generated.Tuple6;
import org.fisco.bcos.web3j.tx.Contract;
import org.fisco.bcos.web3j.tx.TransactionManager;
import org.fisco.bcos.web3j.tx.gas.ContractGasProvider;

/**
 * <p>Auto generated code.
 * <p><strong>Do not modify!</strong>
 * <p>Please use the <a href="https://docs.web3j.io/command_line.html">web3j command line tools</a>,
 * or the org.fisco.bcos.web3j.codegen.SolidityFunctionWrapperGenerator in the 
 * <a href="https://github.com/web3j/web3j/tree/master/codegen">codegen module</a> to update.
 *
 * <p>Generated with web3j version none.
 */
@SuppressWarnings("unchecked")
public class MusicChain extends Contract {
    private static final String BINARY = "608060405234801561001057600080fd5b50614d90806100206000396000f300608060405260043610610112576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806303e9e6091461011757806306168d51146102fb57806310d2854a1461032b578063118f258d146103975780631d2e4afd146104035780632b7f2bac146104b2578063455fa8a31461051e5780634770ff8f146105ed5780635c8014f714610815578063606589c014610970578063610ca0c314610a655780636941833714610be657806369c212f614610c955780636e0f2d2414610f6d5780637176285a1461103c5780637d336197146112db578063832880e71461145c578063915d3c3414611708578063d58b662614611889578063fb978de014611a0f575b600080fd5b34801561012357600080fd5b5061014260048036038101908080359060200190929190505050611ac7565b604051808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001848103845287818151815260200191508051906020019080838360005b838110156101ee5780820151818401526020810190506101d3565b50505050905090810190601f16801561021b5780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b83811015610254578082015181840152602081019050610239565b50505050905090810190601f1680156102815780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b838110156102ba57808201518184015260208101905061029f565b50505050905090810190601f1680156102e75780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b34801561030757600080fd5b50610329600480360381019080803560ff169060200190929190505050611d98565b005b34801561033757600080fd5b50610340611dd7565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610383578082015181840152602081019050610368565b505050509050019250505060405180910390f35b3480156103a357600080fd5b506103ac611f3a565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156103ef5780820151818401526020810190506103d4565b505050509050019250505060405180910390f35b34801561040f57600080fd5b506104b0600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506120d6565b005b3480156104be57600080fd5b506104c7612211565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561050a5780820151818401526020810190506104ef565b505050509050019250505060405180910390f35b34801561052a57600080fd5b506105eb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050612374565b005b3480156105f957600080fd5b50610618600480360381019080803590602001909291905050506124ee565b604051808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001861515151581526020018060200185810385528a818151815260200191508051906020019080838360005b838110156106a0578082015181840152602081019050610685565b50505050905090810190601f1680156106cd5780820380516001836020036101000a031916815260200191505b50858103845289818151815260200191508051906020019080838360005b838110156107065780820151818401526020810190506106eb565b50505050905090810190601f1680156107335780820380516001836020036101000a031916815260200191505b50858103835288818151815260200191508051906020019080838360005b8381101561076c578082015181840152602081019050610751565b50505050905090810190601f1680156107995780820380516001836020036101000a031916815260200191505b50858103825286818151815260200191508051906020019080838360005b838110156107d25780820151818401526020810190506107b7565b50505050905090810190601f1680156107ff5780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b34801561082157600080fd5b5061096e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061286d565b005b34801561097c57600080fd5b50610a63600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050612b82565b005b348015610a7157600080fd5b50610be4600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050612db2565b005b348015610bf257600080fd5b50610c93600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050612ff2565b005b348015610ca157600080fd5b50610cd6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061324f565b6040518080602001806020018060200180602001806020018060200187810387528d818151815260200191508051906020019080838360005b83811015610d2a578082015181840152602081019050610d0f565b50505050905090810190601f168015610d575780820380516001836020036101000a031916815260200191505b5087810386528c818151815260200191508051906020019080838360005b83811015610d90578082015181840152602081019050610d75565b50505050905090810190601f168015610dbd5780820380516001836020036101000a031916815260200191505b5087810385528b818151815260200191508051906020019080838360005b83811015610df6578082015181840152602081019050610ddb565b50505050905090810190601f168015610e235780820380516001836020036101000a031916815260200191505b5087810384528a818151815260200191508051906020019080838360005b83811015610e5c578082015181840152602081019050610e41565b50505050905090810190601f168015610e895780820380516001836020036101000a031916815260200191505b50878103835289818151815260200191508051906020019080838360005b83811015610ec2578082015181840152602081019050610ea7565b50505050905090810190601f168015610eef5780820380516001836020036101000a031916815260200191505b50878103825288818151815260200191508051906020019080838360005b83811015610f28578082015181840152602081019050610f0d565b50505050905090810190601f168015610f555780820380516001836020036101000a031916815260200191505b509c5050505050505050505050505060405180910390f35b348015610f7957600080fd5b5061103a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050613670565b005b34801561104857600080fd5b506110e9600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506138b4565b604051808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001806020018060200180602001858103855289818151815260200191508051906020019080838360005b8381101561116757808201518184015260208101905061114c565b50505050905090810190601f1680156111945780820380516001836020036101000a031916815260200191505b50858103845288818151815260200191508051906020019080838360005b838110156111cd5780820151818401526020810190506111b2565b50505050905090810190601f1680156111fa5780820380516001836020036101000a031916815260200191505b50858103835287818151815260200191508051906020019080838360005b83811015611233578082015181840152602081019050611218565b50505050905090810190601f1680156112605780820380516001836020036101000a031916815260200191505b50858103825286818151815260200191508051906020019080838360005b8381101561129957808201518184015260208101905061127e565b50505050905090810190601f1680156112c65780820380516001836020036101000a031916815260200191505b50995050505050505050505060405180910390f35b3480156112e757600080fd5b5061145a600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050613e6e565b005b34801561146857600080fd5b506114716140ae565b6040518080602001806020018060200180602001806020018060200187810387528d818151815260200191508051906020019080838360005b838110156114c55780820151818401526020810190506114aa565b50505050905090810190601f1680156114f25780820380516001836020036101000a031916815260200191505b5087810386528c818151815260200191508051906020019080838360005b8381101561152b578082015181840152602081019050611510565b50505050905090810190601f1680156115585780820380516001836020036101000a031916815260200191505b5087810385528b818151815260200191508051906020019080838360005b83811015611591578082015181840152602081019050611576565b50505050905090810190601f1680156115be5780820380516001836020036101000a031916815260200191505b5087810384528a818151815260200191508051906020019080838360005b838110156115f75780820151818401526020810190506115dc565b50505050905090810190601f1680156116245780820380516001836020036101000a031916815260200191505b50878103835289818151815260200191508051906020019080838360005b8381101561165d578082015181840152602081019050611642565b50505050905090810190601f16801561168a5780820380516001836020036101000a031916815260200191505b50878103825288818151815260200191508051906020019080838360005b838110156116c35780820151818401526020810190506116a8565b50505050905090810190601f1680156116f05780820380516001836020036101000a031916815260200191505b509c5050505050505050505050505060405180910390f35b34801561171457600080fd5b50611887600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506144ce565b005b34801561189557600080fd5b506118b7600480360381019080803560ff16906020019092919050505061470e565b604051808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200184151515158152602001838103835286818151815260200191508051906020019080838360005b8381101561196957808201518184015260208101905061194e565b50505050905090810190601f1680156119965780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b838110156119cf5780820151818401526020810190506119b4565b50505050905090810190601f1680156119fc5780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390f35b348015611a1b57600080fd5b50611a70600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614960565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015611ab3578082015181840152602081019050611a98565b505050509050019250505060405180910390f35b6000806060806060600286815481101515611ade57fe5b906000526020600020906005020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600287815481101515611b1f57fe5b906000526020600020906005020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600288815481101515611b6057fe5b9060005260206000209060050201600201600289815481101515611b8057fe5b906000526020600020906005020160030160028a815481101515611ba057fe5b9060005260206000209060050201600401828054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611c465780601f10611c1b57610100808354040283529160200191611c46565b820191906000526020600020905b815481529060010190602001808311611c2957829003601f168201915b50505050509250818054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611ce25780601f10611cb757610100808354040283529160200191611ce2565b820191906000526020600020905b815481529060010190602001808311611cc557829003601f168201915b50505050509150808054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611d7e5780601f10611d5357610100808354040283529160200191611d7e565b820191906000526020600020905b815481529060010190602001808311611d6157829003601f168201915b505050505090509450945094509450945091939590929450565b600160038260ff16815481101515611dac57fe5b906000526020600020906005020160040160006101000a81548160ff02191690831515021790555050565b6060600080600090505b6003805490508160ff161015611ebd573373ffffffffffffffffffffffffffffffffffffffff1660038260ff16815481101515611e1a57fe5b906000526020600020906005020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611eb0578181908060018154018082558091505090600182039060005260206000209060209182820401919006909192909190916101000a81548160ff021916908360ff160217905550505b8080600101915050611de1565b81805480602002602001604051908101604052809291908181526020018280548015611f2e57602002820191906000526020600020906000905b82829054906101000a900460ff1660ff1681526020019060010190602082600001049283019260010382029150808411611ef75790505b50505050509250505090565b6060600080600090505b6001805490508160ff1610156120595760018160ff16815481101515611f6657fe5b906000526020600020906006020160040160009054906101000a900460ff168015611fff57503373ffffffffffffffffffffffffffffffffffffffff1660018260ff16815481101515611fb557fe5b906000526020600020906006020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b1561204c578181908060018154018082558091505090600182039060005260206000209060209182820401919006909192909190916101000a81548160ff021916908360ff160217905550505b8080600101915050611f44565b818054806020026020016040519081016040528092919081815260200182805480156120ca57602002820191906000526020600020906000905b82829054906101000a900460ff1660ff16815260200190600101906020826000010492830192600103820291508084116120935790505b50505050509250505090565b816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001908051906020019061212b929190614c3f565b50806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206004019080519060200190612181929190614c3f565b506040805190810160405280600481526020017f75736572000000000000000000000000000000000000000000000000000000008152506000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101908051906020019061220c929190614c3f565b505050565b6060600080600090505b6003805490508160ff1610156122f7573373ffffffffffffffffffffffffffffffffffffffff1660038260ff1681548110151561225457fe5b906000526020600020906005020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156122ea578181908060018154018082558091505090600182039060005260206000209060209182820401919006909192909190916101000a81548160ff021916908360ff160217905550505b808060010191505061221b565b8180548060200260200160405190810160405280929190818152602001828054801561236857602002820191906000526020600020906000905b82829054906101000a900460ff1660ff16815260200190600101906020826000010492830192600103820291508084116123315790505b50505050509250505090565b6000339050600360a0604051908101604052808373ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001600015158152509080600181540180825580915050906001820390600052602060002090600502016000909192909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160020190805190602001906124a7929190614cbf565b5060608201518160030190805190602001906124c4929190614cbf565b5060808201518160040160006101000a81548160ff02191690831515021790555050505050505050565b600060608060606000606060018781548110151561250857fe5b906000526020600020906006020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660018881548110151561254957fe5b906000526020600020906006020160010160018981548110151561256957fe5b906000526020600020906006020160020160018a81548110151561258957fe5b906000526020600020906006020160030160018b8154811015156125a957fe5b906000526020600020906006020160040160009054906101000a900460ff1660018c8154811015156125d757fe5b9060005260206000209060060201600501848054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561267d5780601f106126525761010080835404028352916020019161267d565b820191906000526020600020905b81548152906001019060200180831161266057829003601f168201915b50505050509450838054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156127195780601f106126ee57610100808354040283529160200191612719565b820191906000526020600020905b8154815290600101906020018083116126fc57829003601f168201915b50505050509350828054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156127b55780601f1061278a576101008083540402835291602001916127b5565b820191906000526020600020905b81548152906001019060200180831161279857829003601f168201915b50505050509250808054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156128515780601f1061282657610100808354040283529160200191612851565b820191906000526020600020905b81548152906001019060200180831161283457829003601f168201915b5050505050905095509550955095509550955091939550919395565b60008033915060009050600090505b6001805490508160ff161015612b7957856040518082805190602001908083835b6020831015156128c2578051825260208201915060208101905060208303925061289d565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660018260ff1681548110151561290557fe5b906000526020600020906006020160010160405180828054600181600116156101000203166002900480156129715780601f1061294f576101008083540402835291820191612971565b820191906000526020600020905b81548152906001019060200180831161295d575b50509150506040518091039020600019161480156129fd57503373ffffffffffffffffffffffffffffffffffffffff1660018260ff168154811015156129b357fe5b906000526020600020906006020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b15612b6c57600260a0604051908101604052808973ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff168152602001878152602001868152602001858152509080600181540180825580915050906001820390600052602060002090600502016000909192909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040820151816002019080519060200190612b2d929190614cbf565b506060820151816003019080519060200190612b4a929190614cbf565b506080820151816004019080519060200190612b67929190614cbf565b505050505b808060010191505061287c565b50505050505050565b600160c0604051908101604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018481526020016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612c8d5780601f10612c6257610100808354040283529160200191612c8d565b820191906000526020600020905b815481529060010190602001808311612c7057829003601f168201915b50505050508152602001600115158152602001838152509080600181540180825580915050906001820390600052602060002090600602016000909192909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001019080519060200190612d32929190614cbf565b506040820151816002019080519060200190612d4f929190614cbf565b506060820151816003019080519060200190612d6c929190614cbf565b5060808201518160040160006101000a81548160ff02191690831515021790555060a0820151816005019080519060200190612da9929190614cbf565b50505050505050565b846000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000019080519060200190612e07929190614c3f565b50816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206004019080519060200190612e5d929190614c3f565b506040805190810160405280600881526020017f6d7573696369616e0000000000000000000000000000000000000000000000008152506000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001019080519060200190612ee8929190614c3f565b50836000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002019080519060200190612f3e929190614c3f565b50806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206005019080519060200190612f94929190614c3f565b50826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003019080519060200190612fea929190614c3f565b505050505050565b60008060009150339050600091505b6001805490508260ff161015613249578073ffffffffffffffffffffffffffffffffffffffff1660018360ff1681548110151561303a57fe5b906000526020600020906006020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480156131825750836040518082805190602001908083835b6020831015156130c0578051825260208201915060208101905060208303925061309b565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660018360ff1681548110151561310357fe5b9060005260206000209060060201600101604051808280546001816001161561010002031660029004801561316f5780601f1061314d57610100808354040283529182019161316f565b820191906000526020600020905b81548152906001019060200180831161315b575b5050915050604051809103902060001916145b80156131c257506001151560018360ff1681548110151561319f57fe5b906000526020600020906006020160040160009054906101000a900460ff161515145b1561323c57600060018360ff168154811015156131db57fe5b906000526020600020906006020160040160006101000a81548160ff0219169083151502179055508260018360ff1681548110151561321657fe5b9060005260206000209060060201600501908051906020019061323a929190614c3f565b505b8180600101925050613001565b50505050565b60608060608060608060008060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050806000018160010182600201836003018460040185600501858054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156133475780601f1061331c57610100808354040283529160200191613347565b820191906000526020600020905b81548152906001019060200180831161332a57829003601f168201915b50505050509550848054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156133e35780601f106133b8576101008083540402835291602001916133e3565b820191906000526020600020905b8154815290600101906020018083116133c657829003601f168201915b50505050509450838054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561347f5780601f106134545761010080835404028352916020019161347f565b820191906000526020600020905b81548152906001019060200180831161346257829003601f168201915b50505050509350828054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561351b5780601f106134f05761010080835404028352916020019161351b565b820191906000526020600020905b8154815290600101906020018083116134fe57829003601f168201915b50505050509250818054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156135b75780601f1061358c576101008083540402835291602001916135b7565b820191906000526020600020905b81548152906001019060200180831161359a57829003601f168201915b50505050509150808054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156136535780601f1061362857610100808354040283529160200191613653565b820191906000526020600020905b81548152906001019060200180831161363657829003601f168201915b505050505090509650965096509650965096505091939550919395565b60008033915060009050600090505b6001805490508160ff1610156138ad5760018160ff168154811015156136a157fe5b906000526020600020906006020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156138005750836040518082805190602001908083835b60208310151561373e5780518252602082019150602081019050602083039250613719565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660018260ff1681548110151561378157fe5b906000526020600020906006020160010160405180828054600181600116156101000203166002900480156137ed5780601f106137cb5761010080835404028352918201916137ed565b820191906000526020600020905b8154815290600101906020018083116137d9575b5050915050604051809103902060001916145b156138a0578460018260ff1681548110151561381857fe5b906000526020600020906006020160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508260018260ff1681548110151561387a57fe5b9060005260206000209060060201600501908051906020019061389e929190614c3f565b505b808060010191505061367f565b5050505050565b600060608060608060008090505b6001805490508160ff161015613e625760018160ff168154811015156138e457fe5b906000526020600020906006020160040160009054906101000a900460ff168015613a025750876040518082805190602001908083835b602083101515613940578051825260208201915060208101905060208303925061391b565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660018260ff1681548110151561398357fe5b906000526020600020906006020160020160405180828054600181600116156101000203166002900480156139ef5780601f106139cd5761010080835404028352918201916139ef565b820191906000526020600020905b8154815290600101906020018083116139db575b5050915050604051809103902060001916145b8015613b015750866040518082805190602001908083835b602083101515613a3f5780518252602082019150602081019050602083039250613a1a565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660018260ff16815481101515613a8257fe5b90600052602060002090600602016003016040518082805460018160011615610100020316600290048015613aee5780601f10613acc576101008083540402835291820191613aee565b820191906000526020600020905b815481529060010190602001808311613ada575b5050915050604051809103902060001916145b15613e555760018160ff16815481101515613b1857fe5b906000526020600020906006020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660018260ff16815481101515613b5c57fe5b906000526020600020906006020160010160018360ff16815481101515613b7f57fe5b906000526020600020906006020160020160018460ff16815481101515613ba257fe5b906000526020600020906006020160030160018560ff16815481101515613bc557fe5b9060005260206000209060060201600501838054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015613c6b5780601f10613c4057610100808354040283529160200191613c6b565b820191906000526020600020905b815481529060010190602001808311613c4e57829003601f168201915b50505050509350828054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015613d075780601f10613cdc57610100808354040283529160200191613d07565b820191906000526020600020905b815481529060010190602001808311613cea57829003601f168201915b50505050509250818054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015613da35780601f10613d7857610100808354040283529160200191613da3565b820191906000526020600020905b815481529060010190602001808311613d8657829003601f168201915b50505050509150808054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015613e3f5780601f10613e1457610100808354040283529160200191613e3f565b820191906000526020600020905b815481529060010190602001808311613e2257829003601f168201915b5050505050905095509550955095509550613e63565b80806001019150506138c2565b5b509295509295909350565b846000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000019080519060200190613ec3929190614c3f565b50816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206004019080519060200190613f19929190614c3f565b506040805190810160405280600781526020017f636f6d70616e79000000000000000000000000000000000000000000000000008152506000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001019080519060200190613fa4929190614c3f565b50836000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002019080519060200190613ffa929190614c3f565b50806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206005019080519060200190614050929190614c3f565b50826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030190805190602001906140a6929190614c3f565b505050505050565b60608060608060608060008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050806000018160010182600201836003018460040185600501858054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156141a65780601f1061417b576101008083540402835291602001916141a6565b820191906000526020600020905b81548152906001019060200180831161418957829003601f168201915b50505050509550848054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156142425780601f1061421757610100808354040283529160200191614242565b820191906000526020600020905b81548152906001019060200180831161422557829003601f168201915b50505050509450838054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156142de5780601f106142b3576101008083540402835291602001916142de565b820191906000526020600020905b8154815290600101906020018083116142c157829003601f168201915b50505050509350828054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561437a5780601f1061434f5761010080835404028352916020019161437a565b820191906000526020600020905b81548152906001019060200180831161435d57829003601f168201915b50505050509250818054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156144165780601f106143eb57610100808354040283529160200191614416565b820191906000526020600020905b8154815290600101906020018083116143f957829003601f168201915b50505050509150808054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156144b25780601f10614487576101008083540402835291602001916144b2565b820191906000526020600020905b81548152906001019060200180831161449557829003601f168201915b5050505050905096509650965096509650965050909192939495565b846000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000019080519060200190614523929190614c3f565b50816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206004019080519060200190614579929190614c3f565b506040805190810160405280600581526020017f6a756467650000000000000000000000000000000000000000000000000000008152506000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001019080519060200190614604929190614c3f565b50836000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201908051906020019061465a929190614c3f565b50806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050190805190602001906146b0929190614c3f565b50826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003019080519060200190614706929190614c3f565b505050505050565b600080606080600060038660ff1681548110151561472857fe5b906000526020600020906005020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660038760ff1681548110151561476c57fe5b906000526020600020906005020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660038860ff168154811015156147b057fe5b906000526020600020906005020160020160038960ff168154811015156147d357fe5b906000526020600020906005020160030160038a60ff168154811015156147f657fe5b906000526020600020906005020160040160009054906101000a900460ff16828054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156148aa5780601f1061487f576101008083540402835291602001916148aa565b820191906000526020600020905b81548152906001019060200180831161488d57829003601f168201915b50505050509250818054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156149465780601f1061491b57610100808354040283529160200191614946565b820191906000526020600020905b81548152906001019060200180831161492957829003601f168201915b505050505091509450945094509450945091939590929450565b6060600080600080925060009050600092505b6002805490508360ff161015614bbe5785604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660028460ff168154811015156149ea57fe5b906000526020600020906005020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401915050604051809103902060001916148015614b67575084604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660028460ff16815481101515614adf57fe5b906000526020600020906005020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401915050604051809103902060001916145b15614bb15782828260ff16815481101515614b7e57fe5b90600052602060002090602091828204019190066101000a81548160ff021916908360ff16021790555080806001019150505b8280600101935050614973565b81805480602002602001604051908101604052809291908181526020018280548015614c2f57602002820191906000526020600020906000905b82829054906101000a900460ff1660ff1681526020019060010190602082600001049283019260010382029150808411614bf85790505b5050505050935050505092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10614c8057805160ff1916838001178555614cae565b82800160010185558215614cae579182015b82811115614cad578251825591602001919060010190614c92565b5b509050614cbb9190614d3f565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10614d0057805160ff1916838001178555614d2e565b82800160010185558215614d2e579182015b82811115614d2d578251825591602001919060010190614d12565b5b509050614d3b9190614d3f565b5090565b614d6191905b80821115614d5d576000816000905550600101614d45565b5090565b905600a165627a7a723058209a858209532f4f19aacb96f351135a797a91a4256049f3d138ecfabf4920a3180029";

    public static final String FUNC_GETRECORD = "getRecord";

    public static final String FUNC_CONSUMENOTICE = "consumeNotice";

    public static final String FUNC_GETNOTICENUMBERBYTO = "getNoticeNumberByTo";

    public static final String FUNC_GETMUSICNUMBER = "getMusicNumber";

    public static final String FUNC_REGISTERUSER = "registerUser";

    public static final String FUNC_GETNOTICENUMBERBYSTART = "getNoticeNumberByStart";

    public static final String FUNC_REGISTERNOTICE = "registerNotice";

    public static final String FUNC_GETMUSIC = "getMusic";

    public static final String FUNC_AUTHORIZEMUSIC = "authorizeMusic";

    public static final String FUNC_REGISTERMUSIC = "registerMusic";

    public static final String FUNC_REGISTERMUSICIAN = "registerMusician";

    public static final String FUNC_CANCELMUSIC = "cancelMusic";

    public static final String FUNC_GETUSERBYADDRESS = "getUserByAddress";

    public static final String FUNC_TRANSFERMUSIC = "transferMusic";

    public static final String FUNC_SEARCHMUSIC = "searchMusic";

    public static final String FUNC_REGISTERCOMPANY = "registerCompany";

    public static final String FUNC_GETUSER = "getUser";

    public static final String FUNC_REGISTERJUDGE = "registerJudge";

    public static final String FUNC_GETNOTICE = "getNotice";

    public static final String FUNC_GETRECORDNUMBER = "getRecordNumber";

    @Deprecated
    protected MusicChain(String contractAddress, Web3j web3j, Credentials credentials, BigInteger gasPrice, BigInteger gasLimit) {
        super(BINARY, contractAddress, web3j, credentials, gasPrice, gasLimit);
    }

    protected MusicChain(String contractAddress, Web3j web3j, Credentials credentials, ContractGasProvider contractGasProvider) {
        super(BINARY, contractAddress, web3j, credentials, contractGasProvider);
    }

    @Deprecated
    protected MusicChain(String contractAddress, Web3j web3j, TransactionManager transactionManager, BigInteger gasPrice, BigInteger gasLimit) {
        super(BINARY, contractAddress, web3j, transactionManager, gasPrice, gasLimit);
    }

    protected MusicChain(String contractAddress, Web3j web3j, TransactionManager transactionManager, ContractGasProvider contractGasProvider) {
        super(BINARY, contractAddress, web3j, transactionManager, contractGasProvider);
    }

    public RemoteCall<Tuple5<String, String, String, String, String>> getRecord(BigInteger numbe) {
        final Function function = new Function(FUNC_GETRECORD, 
                Arrays.<Type>asList(new org.fisco.bcos.web3j.abi.datatypes.generated.Uint256(numbe)), 
                Arrays.<TypeReference<?>>asList(new TypeReference<Address>() {}, new TypeReference<Address>() {}, new TypeReference<Utf8String>() {}, new TypeReference<Utf8String>() {}, new TypeReference<Utf8String>() {}));
        return new RemoteCall<Tuple5<String, String, String, String, String>>(
                new Callable<Tuple5<String, String, String, String, String>>() {
                    @Override
                    public Tuple5<String, String, String, String, String> call() throws Exception {
                        List<Type> results = executeCallMultipleValueReturn(function);
                        return new Tuple5<String, String, String, String, String>(
                                (String) results.get(0).getValue(), 
                                (String) results.get(1).getValue(), 
                                (String) results.get(2).getValue(), 
                                (String) results.get(3).getValue(), 
                                (String) results.get(4).getValue());
                    }
                });
    }

    public RemoteCall<TransactionReceipt> consumeNotice(BigInteger _idx) {
        final Function function = new Function(
                FUNC_CONSUMENOTICE, 
                Arrays.<Type>asList(new org.fisco.bcos.web3j.abi.datatypes.generated.Uint8(_idx)), 
                Collections.<TypeReference<?>>emptyList());
        return executeRemoteCallTransaction(function);
    }

    public void consumeNotice(BigInteger _idx, TransactionSucCallback callback) {
        final Function function = new Function(
                FUNC_CONSUMENOTICE, 
                Arrays.<Type>asList(new org.fisco.bcos.web3j.abi.datatypes.generated.Uint8(_idx)), 
                Collections.<TypeReference<?>>emptyList());
        asyncExecuteTransaction(function, callback);
    }

    public RemoteCall<List> getNoticeNumberByTo() {
        final Function function = new Function(FUNC_GETNOTICENUMBERBYTO, 
                Arrays.<Type>asList(), 
                Arrays.<TypeReference<?>>asList(new TypeReference<DynamicArray<Uint8>>() {}));
        return new RemoteCall<List>(
                new Callable<List>() {
                    @Override
                    @SuppressWarnings("unchecked")
                    public List call() throws Exception {
                        List<Type> result = (List<Type>) executeCallSingleValueReturn(function, List.class);
                        return convertToNative(result);
                    }
                });
    }

    public RemoteCall<List> getMusicNumber() {
        final Function function = new Function(FUNC_GETMUSICNUMBER, 
                Arrays.<Type>asList(), 
                Arrays.<TypeReference<?>>asList(new TypeReference<DynamicArray<Uint8>>() {}));
        return new RemoteCall<List>(
                new Callable<List>() {
                    @Override
                    @SuppressWarnings("unchecked")
                    public List call() throws Exception {
                        List<Type> result = (List<Type>) executeCallSingleValueReturn(function, List.class);
                        return convertToNative(result);
                    }
                });
    }

    public RemoteCall<TransactionReceipt> registerUser(String _name, String _phone) {
        final Function function = new Function(
                FUNC_REGISTERUSER, 
                Arrays.<Type>asList(new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_name), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_phone)), 
                Collections.<TypeReference<?>>emptyList());
        return executeRemoteCallTransaction(function);
    }

    public void registerUser(String _name, String _phone, TransactionSucCallback callback) {
        final Function function = new Function(
                FUNC_REGISTERUSER, 
                Arrays.<Type>asList(new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_name), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_phone)), 
                Collections.<TypeReference<?>>emptyList());
        asyncExecuteTransaction(function, callback);
    }

    public RemoteCall<List> getNoticeNumberByStart() {
        final Function function = new Function(FUNC_GETNOTICENUMBERBYSTART, 
                Arrays.<Type>asList(), 
                Arrays.<TypeReference<?>>asList(new TypeReference<DynamicArray<Uint8>>() {}));
        return new RemoteCall<List>(
                new Callable<List>() {
                    @Override
                    @SuppressWarnings("unchecked")
                    public List call() throws Exception {
                        List<Type> result = (List<Type>) executeCallSingleValueReturn(function, List.class);
                        return convertToNative(result);
                    }
                });
    }

    public RemoteCall<TransactionReceipt> registerNotice(String _to, String _music, String _info) {
        final Function function = new Function(
                FUNC_REGISTERNOTICE, 
                Arrays.<Type>asList(new org.fisco.bcos.web3j.abi.datatypes.Address(_to), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_music), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_info)), 
                Collections.<TypeReference<?>>emptyList());
        return executeRemoteCallTransaction(function);
    }

    public void registerNotice(String _to, String _music, String _info, TransactionSucCallback callback) {
        final Function function = new Function(
                FUNC_REGISTERNOTICE, 
                Arrays.<Type>asList(new org.fisco.bcos.web3j.abi.datatypes.Address(_to), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_music), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_info)), 
                Collections.<TypeReference<?>>emptyList());
        asyncExecuteTransaction(function, callback);
    }

    public RemoteCall<Tuple6<String, String, String, String, Boolean, String>> getMusic(BigInteger numb) {
        final Function function = new Function(FUNC_GETMUSIC, 
                Arrays.<Type>asList(new org.fisco.bcos.web3j.abi.datatypes.generated.Uint256(numb)), 
                Arrays.<TypeReference<?>>asList(new TypeReference<Address>() {}, new TypeReference<Utf8String>() {}, new TypeReference<Utf8String>() {}, new TypeReference<Utf8String>() {}, new TypeReference<Bool>() {}, new TypeReference<Utf8String>() {}));
        return new RemoteCall<Tuple6<String, String, String, String, Boolean, String>>(
                new Callable<Tuple6<String, String, String, String, Boolean, String>>() {
                    @Override
                    public Tuple6<String, String, String, String, Boolean, String> call() throws Exception {
                        List<Type> results = executeCallMultipleValueReturn(function);
                        return new Tuple6<String, String, String, String, Boolean, String>(
                                (String) results.get(0).getValue(), 
                                (String) results.get(1).getValue(), 
                                (String) results.get(2).getValue(), 
                                (String) results.get(3).getValue(), 
                                (Boolean) results.get(4).getValue(), 
                                (String) results.get(5).getValue());
                    }
                });
    }

    public RemoteCall<TransactionReceipt> authorizeMusic(String _to, String _binhash, String _alltime, String _music, String _info) {
        final Function function = new Function(
                FUNC_AUTHORIZEMUSIC, 
                Arrays.<Type>asList(new org.fisco.bcos.web3j.abi.datatypes.Address(_to), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_binhash), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_alltime), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_music), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_info)), 
                Collections.<TypeReference<?>>emptyList());
        return executeRemoteCallTransaction(function);
    }

    public void authorizeMusic(String _to, String _binhash, String _alltime, String _music, String _info, TransactionSucCallback callback) {
        final Function function = new Function(
                FUNC_AUTHORIZEMUSIC, 
                Arrays.<Type>asList(new org.fisco.bcos.web3j.abi.datatypes.Address(_to), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_binhash), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_alltime), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_music), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_info)), 
                Collections.<TypeReference<?>>emptyList());
        asyncExecuteTransaction(function, callback);
    }

    public RemoteCall<TransactionReceipt> registerMusic(String _bin, String _mname, String _alltime) {
        final Function function = new Function(
                FUNC_REGISTERMUSIC, 
                Arrays.<Type>asList(new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_bin), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_mname), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_alltime)), 
                Collections.<TypeReference<?>>emptyList());
        return executeRemoteCallTransaction(function);
    }

    public void registerMusic(String _bin, String _mname, String _alltime, TransactionSucCallback callback) {
        final Function function = new Function(
                FUNC_REGISTERMUSIC, 
                Arrays.<Type>asList(new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_bin), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_mname), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_alltime)), 
                Collections.<TypeReference<?>>emptyList());
        asyncExecuteTransaction(function, callback);
    }

    public RemoteCall<TransactionReceipt> registerMusician(String _name, String _id, String _location, String _phone, String _email) {
        final Function function = new Function(
                FUNC_REGISTERMUSICIAN, 
                Arrays.<Type>asList(new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_name), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_id), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_location), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_phone), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_email)), 
                Collections.<TypeReference<?>>emptyList());
        return executeRemoteCallTransaction(function);
    }

    public void registerMusician(String _name, String _id, String _location, String _phone, String _email, TransactionSucCallback callback) {
        final Function function = new Function(
                FUNC_REGISTERMUSICIAN, 
                Arrays.<Type>asList(new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_name), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_id), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_location), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_phone), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_email)), 
                Collections.<TypeReference<?>>emptyList());
        asyncExecuteTransaction(function, callback);
    }

    public RemoteCall<TransactionReceipt> cancelMusic(String _binhash, String _alltime) {
        final Function function = new Function(
                FUNC_CANCELMUSIC, 
                Arrays.<Type>asList(new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_binhash), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_alltime)), 
                Collections.<TypeReference<?>>emptyList());
        return executeRemoteCallTransaction(function);
    }

    public void cancelMusic(String _binhash, String _alltime, TransactionSucCallback callback) {
        final Function function = new Function(
                FUNC_CANCELMUSIC, 
                Arrays.<Type>asList(new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_binhash), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_alltime)), 
                Collections.<TypeReference<?>>emptyList());
        asyncExecuteTransaction(function, callback);
    }

    public RemoteCall<Tuple6<String, String, String, String, String, String>> getUserByAddress(String _user) {
        final Function function = new Function(FUNC_GETUSERBYADDRESS, 
                Arrays.<Type>asList(new org.fisco.bcos.web3j.abi.datatypes.Address(_user)), 
                Arrays.<TypeReference<?>>asList(new TypeReference<Utf8String>() {}, new TypeReference<Utf8String>() {}, new TypeReference<Utf8String>() {}, new TypeReference<Utf8String>() {}, new TypeReference<Utf8String>() {}, new TypeReference<Utf8String>() {}));
        return new RemoteCall<Tuple6<String, String, String, String, String, String>>(
                new Callable<Tuple6<String, String, String, String, String, String>>() {
                    @Override
                    public Tuple6<String, String, String, String, String, String> call() throws Exception {
                        List<Type> results = executeCallMultipleValueReturn(function);
                        return new Tuple6<String, String, String, String, String, String>(
                                (String) results.get(0).getValue(), 
                                (String) results.get(1).getValue(), 
                                (String) results.get(2).getValue(), 
                                (String) results.get(3).getValue(), 
                                (String) results.get(4).getValue(), 
                                (String) results.get(5).getValue());
                    }
                });
    }

    public RemoteCall<TransactionReceipt> transferMusic(String _to, String _binhash, String _alltime) {
        final Function function = new Function(
                FUNC_TRANSFERMUSIC, 
                Arrays.<Type>asList(new org.fisco.bcos.web3j.abi.datatypes.Address(_to), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_binhash), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_alltime)), 
                Collections.<TypeReference<?>>emptyList());
        return executeRemoteCallTransaction(function);
    }

    public void transferMusic(String _to, String _binhash, String _alltime, TransactionSucCallback callback) {
        final Function function = new Function(
                FUNC_TRANSFERMUSIC, 
                Arrays.<Type>asList(new org.fisco.bcos.web3j.abi.datatypes.Address(_to), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_binhash), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_alltime)), 
                Collections.<TypeReference<?>>emptyList());
        asyncExecuteTransaction(function, callback);
    }

    public RemoteCall<Tuple5<String, String, String, String, String>> searchMusic(String _mname, String _singer) {
        final Function function = new Function(FUNC_SEARCHMUSIC, 
                Arrays.<Type>asList(new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_mname), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_singer)), 
                Arrays.<TypeReference<?>>asList(new TypeReference<Address>() {}, new TypeReference<Utf8String>() {}, new TypeReference<Utf8String>() {}, new TypeReference<Utf8String>() {}, new TypeReference<Utf8String>() {}));
        return new RemoteCall<Tuple5<String, String, String, String, String>>(
                new Callable<Tuple5<String, String, String, String, String>>() {
                    @Override
                    public Tuple5<String, String, String, String, String> call() throws Exception {
                        List<Type> results = executeCallMultipleValueReturn(function);
                        return new Tuple5<String, String, String, String, String>(
                                (String) results.get(0).getValue(), 
                                (String) results.get(1).getValue(), 
                                (String) results.get(2).getValue(), 
                                (String) results.get(3).getValue(), 
                                (String) results.get(4).getValue());
                    }
                });
    }

    public RemoteCall<TransactionReceipt> registerCompany(String _name, String _id, String _location, String _phone, String _email) {
        final Function function = new Function(
                FUNC_REGISTERCOMPANY, 
                Arrays.<Type>asList(new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_name), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_id), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_location), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_phone), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_email)), 
                Collections.<TypeReference<?>>emptyList());
        return executeRemoteCallTransaction(function);
    }

    public void registerCompany(String _name, String _id, String _location, String _phone, String _email, TransactionSucCallback callback) {
        final Function function = new Function(
                FUNC_REGISTERCOMPANY, 
                Arrays.<Type>asList(new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_name), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_id), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_location), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_phone), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_email)), 
                Collections.<TypeReference<?>>emptyList());
        asyncExecuteTransaction(function, callback);
    }

    public RemoteCall<Tuple6<String, String, String, String, String, String>> getUser() {
        final Function function = new Function(FUNC_GETUSER, 
                Arrays.<Type>asList(), 
                Arrays.<TypeReference<?>>asList(new TypeReference<Utf8String>() {}, new TypeReference<Utf8String>() {}, new TypeReference<Utf8String>() {}, new TypeReference<Utf8String>() {}, new TypeReference<Utf8String>() {}, new TypeReference<Utf8String>() {}));
        return new RemoteCall<Tuple6<String, String, String, String, String, String>>(
                new Callable<Tuple6<String, String, String, String, String, String>>() {
                    @Override
                    public Tuple6<String, String, String, String, String, String> call() throws Exception {
                        List<Type> results = executeCallMultipleValueReturn(function);
                        return new Tuple6<String, String, String, String, String, String>(
                                (String) results.get(0).getValue(), 
                                (String) results.get(1).getValue(), 
                                (String) results.get(2).getValue(), 
                                (String) results.get(3).getValue(), 
                                (String) results.get(4).getValue(), 
                                (String) results.get(5).getValue());
                    }
                });
    }

    public RemoteCall<TransactionReceipt> registerJudge(String _name, String _id, String _location, String _phone, String _email) {
        final Function function = new Function(
                FUNC_REGISTERJUDGE, 
                Arrays.<Type>asList(new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_name), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_id), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_location), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_phone), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_email)), 
                Collections.<TypeReference<?>>emptyList());
        return executeRemoteCallTransaction(function);
    }

    public void registerJudge(String _name, String _id, String _location, String _phone, String _email, TransactionSucCallback callback) {
        final Function function = new Function(
                FUNC_REGISTERJUDGE, 
                Arrays.<Type>asList(new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_name), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_id), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_location), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_phone), 
                new org.fisco.bcos.web3j.abi.datatypes.Utf8String(_email)), 
                Collections.<TypeReference<?>>emptyList());
        asyncExecuteTransaction(function, callback);
    }

    public RemoteCall<Tuple5<String, String, String, String, Boolean>> getNotice(BigInteger _idx) {
        final Function function = new Function(FUNC_GETNOTICE, 
                Arrays.<Type>asList(new org.fisco.bcos.web3j.abi.datatypes.generated.Uint8(_idx)), 
                Arrays.<TypeReference<?>>asList(new TypeReference<Address>() {}, new TypeReference<Address>() {}, new TypeReference<Utf8String>() {}, new TypeReference<Utf8String>() {}, new TypeReference<Bool>() {}));
        return new RemoteCall<Tuple5<String, String, String, String, Boolean>>(
                new Callable<Tuple5<String, String, String, String, Boolean>>() {
                    @Override
                    public Tuple5<String, String, String, String, Boolean> call() throws Exception {
                        List<Type> results = executeCallMultipleValueReturn(function);
                        return new Tuple5<String, String, String, String, Boolean>(
                                (String) results.get(0).getValue(), 
                                (String) results.get(1).getValue(), 
                                (String) results.get(2).getValue(), 
                                (String) results.get(3).getValue(), 
                                (Boolean) results.get(4).getValue());
                    }
                });
    }

    public RemoteCall<List> getRecordNumber(String _user, String _author) {
        final Function function = new Function(FUNC_GETRECORDNUMBER, 
                Arrays.<Type>asList(new org.fisco.bcos.web3j.abi.datatypes.Address(_user), 
                new org.fisco.bcos.web3j.abi.datatypes.Address(_author)), 
                Arrays.<TypeReference<?>>asList(new TypeReference<DynamicArray<Uint8>>() {}));
        return new RemoteCall<List>(
                new Callable<List>() {
                    @Override
                    @SuppressWarnings("unchecked")
                    public List call() throws Exception {
                        List<Type> result = (List<Type>) executeCallSingleValueReturn(function, List.class);
                        return convertToNative(result);
                    }
                });
    }

    @Deprecated
    public static MusicChain load(String contractAddress, Web3j web3j, Credentials credentials, BigInteger gasPrice, BigInteger gasLimit) {
        return new MusicChain(contractAddress, web3j, credentials, gasPrice, gasLimit);
    }

    @Deprecated
    public static MusicChain load(String contractAddress, Web3j web3j, TransactionManager transactionManager, BigInteger gasPrice, BigInteger gasLimit) {
        return new MusicChain(contractAddress, web3j, transactionManager, gasPrice, gasLimit);
    }

    public static MusicChain load(String contractAddress, Web3j web3j, Credentials credentials, ContractGasProvider contractGasProvider) {
        return new MusicChain(contractAddress, web3j, credentials, contractGasProvider);
    }

    public static MusicChain load(String contractAddress, Web3j web3j, TransactionManager transactionManager, ContractGasProvider contractGasProvider) {
        return new MusicChain(contractAddress, web3j, transactionManager, contractGasProvider);
    }

    public static RemoteCall<MusicChain> deploy(Web3j web3j, Credentials credentials, ContractGasProvider contractGasProvider) {
        return deployRemoteCall(MusicChain.class, web3j, credentials, contractGasProvider, BINARY, "");
    }

    @Deprecated
    public static RemoteCall<MusicChain> deploy(Web3j web3j, Credentials credentials, BigInteger gasPrice, BigInteger gasLimit) {
        return deployRemoteCall(MusicChain.class, web3j, credentials, gasPrice, gasLimit, BINARY, "");
    }

    public static RemoteCall<MusicChain> deploy(Web3j web3j, TransactionManager transactionManager, ContractGasProvider contractGasProvider) {
        return deployRemoteCall(MusicChain.class, web3j, transactionManager, contractGasProvider, BINARY, "");
    }

    @Deprecated
    public static RemoteCall<MusicChain> deploy(Web3j web3j, TransactionManager transactionManager, BigInteger gasPrice, BigInteger gasLimit) {
        return deployRemoteCall(MusicChain.class, web3j, transactionManager, gasPrice, gasLimit, BINARY, "");
    }
}
